/*
package com.budwk.app.ocr_general;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;

*/
/**
 *  WebAPI 接口调用示例,运行方法：直接运行 main() 即可,结果：控制台输出图像识别结果信息 
 * 印刷文字多语种识别WebAPI接口调用示例接口文档(必看)：https://doc.xfyun.cn/rest_api/%E5%8D%B0%E5%88%B7%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB%EF%BC%88%E5%A4%9A%E8%AF%AD%E7%A7%8D%EF%BC%89.html
 * 图片属性：尺寸1024×768，图像质量75以上，位深度24最短边最小不低于20像素，最大不超过4096像素，格式jpg/jpeg
 * (Very Important)创建完webapi应用添加服务之后一定要设置ip白名单，找到控制台--我的应用--设置ip白名单，如何设置参考：http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=41891
 * 错误码链接：https://www.xfyun.cn/document/error-code (code返回错误码时必看)
 * @author iflytek
 *//*

public class WebOCR {
	// OCR webapi 接口地址
	private static final String WEBOCR_URL = "http://webapi.xfyun.cn/v1/service/v1/ocr/recognize_document";
	// 应用ID  (必须为webapi类型应用，并印刷文字识别服务，参考帖子如何创建一个webapi应用：http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=36481)
	private static final String APPID = "******";
	// 接口密钥 (webapi类型应用开通印刷文字识别多语种服务后，控制台--我的应用---印刷文字识别多语种---服务的apikey)
	private static final String API_KEY = "******";
	// 引擎类型
	private static final String engine_type = "recognize_document";
	// 图片地址base64编码之后图片大小不超过4M
	private static final String PIC_PATH = "resource\\**.jpg";
	*/
/**
	 * OCR WebAPI 调用示例程序
	 *
	 * @param args
	 * @throws IOException
	 *//*

	public static void main(String[] args) throws IOException {
		Map<String, String> header = buildHttpHeader();
		byte[] imageByteArray = FileUtil.read(PIC_PATH);
		String imageBase64 = new String(Base64.encodeBase64(imageByteArray), "UTF-8");
		String result = HttpUtil.doPost1(WEBOCR_URL, header, "image=" + URLEncoder.encode(imageBase64, "UTF-8"));
		System.out.println("OCR WebAPI 接口调用结果：" + result);
	}

	*/
/**
	 * 组装http请求头
	 *//*

	private static Map<String, String> buildHttpHeader() throws UnsupportedEncodingException {
		String curTime = System.currentTimeMillis() / 1000L + "";
		String param = "{\"engine_type\":\"" + engine_type + "\"}";
		String paramBase64 = new String(Base64.encodeBase64(param.getBytes("UTF-8")));
		String checkSum = DigestUtils.md5Hex(API_KEY + curTime + paramBase64);
		Map<String, String> header = new HashMap<String, String>();
		header.put("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
		header.put("X-Param", paramBase64);
		header.put("X-CurTime", curTime);
		header.put("X-CheckSum", checkSum);
		header.put("X-Appid", APPID);
		return header;
	}
}*/
